package com.xinggq.common.utils;

/**
 * 交易号工具类
 * 提供便捷的静态方法接口
 * 
 * @author xinggq
 * @since 2025/1/20
 */
public class TradeNoUtils {
    
    /**
     * 生成交易号
     * @return 唯一的交易号字符串
     */
    public static String generateTradeNo() {
        return TradeNoGenerator.getInstance().nextTradeNo();
    }
    
    /**
     * 生成ID
     * @return 唯一的长整型ID
     */
    public static long generateId() {
        return TradeNoGenerator.getInstance().nextId();
    }
    
    /**
     * 解析交易号信息
     * @param tradeNo 交易号
     * @return 解析结果
     */
    public static String parseTradeNo(String tradeNo) {
        return TradeNoGenerator.parseTradeNo(tradeNo);
    }
    
    /**
     * 解析ID信息
     * @param id ID
     * @return 解析结果
     */
    public static String parseId(long id) {
        return TradeNoGenerator.parseId(id);
    }
    
    /**
     * 获取当前机器ID
     * @return 机器ID
     */
    public static long getMachineId() {
        return TradeNoGenerator.getInstance().getMachineId();
    }
}